package de.fhd.pms.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
//DOKUMENTATION FERTIG
/**
 * Definition der Struktur eines {@link Teilnehmer} (=Model).<br/>
 * Mithilfe dieses Model-Objekts wird die Struktur eines Teilnehmers abgebildet.
 * Außerdem wird, ausgehend vom hier definierten Model die Tabellenstruktur in
 * der MySQL-Datenbank abgebildet.
 * <ul>
 *   <li>MySQL Tabellenname: tbl_teilnehmer</li>
 * </ul>
 * @author Martin Schmid
 * @author Florian Schachner
 */
/* SCHRITT 1: 
 * Annotationen der Klasse und der ID
 */
@Entity
@Table(name = "tbl_teilnehmer")
public class Teilnehmer {

	@Id
	@GeneratedValue
	@Column(name = "pk_tid")
	private Integer id;
	private Date created;
	private String vorname;
	private String nachname;
	private String strasse;
	private Integer plz;
	private String ort;
	private String gebdatum;
	private String telefonnummer;
	private Boolean fahrerlaubnis;
	private Boolean available;
	
	/*
	 * SCHRITT 2: GETTER- UND SETTER-METHODEN Mithilfe der Getter- und
	 * Setter-Methoden kann diese Entity mit Daten aus der Datenbank gefüllt
	 * werden (Setter) und Daten in die Datenbank zurückgeschrieben werden
	 * (Getter).
	 */
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Date getCreated() {
		return created;
	}

	public void setCreated(Date created) {
		this.created = created;
	}

	public String getVorname() {
		return vorname;
	}

	public void setVorname(String vorname) {
		this.vorname = vorname;
	}

	public String getNachname() {
		return nachname;
	}

	public void setNachname(String nachname) {
		this.nachname = nachname;
	}

	public String getStrasse() {
		return strasse;
	}

	public void setStrasse(String strasse) {
		this.strasse = strasse;
	}

	public Integer getPlz() {
		return plz;
	}

	public void setPlz(Integer plz) {
		this.plz = plz;
	}

	public String getOrt() {
		return ort;
	}

	public void setOrt(String ort) {
		this.ort = ort;
	}

	public String getGebdatum() {
		return gebdatum;
	}

	public void setGebdatum(String gebdatum) {
		this.gebdatum = gebdatum;
	}

	public String getTelefonnummer() {
		return telefonnummer;
	}

	public void setTelefonnummer(String telefonnummer) {
		this.telefonnummer = telefonnummer;
	}

	public Boolean getFahrerlaubnis() {
		return fahrerlaubnis;
	}

	public void setFahrerlaubnis(Boolean fahrerlaubnis) {
		this.fahrerlaubnis = fahrerlaubnis;
	}
	
	public Boolean getAvailable() {
		return available;
	}

	public void setAvailable(Boolean available) {
		this.available = available;
	}
}
